Typing is an essential part of many common scenarios on a mobile device including writing a text message, writing an email, searching for a contact, and typing a URL, for example. Typing on a mobile device can be slow and frustrating. This can be especially true when using an on screen software keyboard.
One solution to this problem is known as a soft input panel. In a soft input panel, a region of the screen displays suggested word predictions based on the characters that a user has entered so far into a text input field. The suggested words change as the user continues to enter characters into the field. When the user sees a word prediction that matches the word that they are entering, the user may select the word prediction and the selected word is placed in the text input field as a replacement for the characters entered by the user.
There are several drawbacks associated with current implementations of the soft input panel. One such drawback is that the predictions are limited to single words, rather than phrases or sentences. For example, if a user types “Th” into the text field, the soft input panel may predict “Thanks”, rather than “Thank You!” or “Thank you very much!”, forcing the user to enter additional characters.
A similar drawback is that the predictions are based only on the characters entered by the user and fail to take into account the typing history of the user, or other users. For example, if a user in the past has said “You are Welcome!!” in response to a short message service (SMS) message of “Thank you”, the soft input panel does not display “You are Welcome!!” as a prediction even though the user may have selected such a prediction if offered.
Another drawback associated with soft input panels is that that they display too many predictions, which can be distracting for a user, and can make the correct prediction hard to select. For example, the user may have entered the characters “ye” and may be provided several candidate predictions including “yes”, “yesterday”, yeast”, and “yet”, even though “yes” may be the most likely prediction and “yesterday” and “yeast” are very unlikely. By displaying less likely predictions, the user is forced to consider more predictions before selecting “yes”, and the risk of the user accidentally incorrectly selecting a prediction is increased. Because the soft input panel does not offer an undo feature, mis-selecting a prediction can be very frustrating—forcing the user to delete the prediction and reenter the original characters.